/*
 * Registrar_Eventos.java
 *
 * Created on 14-oct-2008, 11:19:12
 */
package investigaciones_itm.Productos;

import com.sun.rave.faces.data.DefaultSelectItemsArray;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.AddRemove;
import com.sun.webui.jsf.component.Body;
import com.sun.webui.jsf.component.Button;
import com.sun.webui.jsf.component.Calendar;
import com.sun.webui.jsf.component.Form;
import com.sun.webui.jsf.component.Head;
import com.sun.webui.jsf.component.Html;
import com.sun.webui.jsf.component.Label;
import com.sun.webui.jsf.component.Link;
import com.sun.webui.jsf.component.Page;
import com.sun.webui.jsf.component.PanelGroup;
import com.sun.webui.jsf.component.PanelLayout;
import com.sun.webui.jsf.component.RadioButtonGroup;
import com.sun.webui.jsf.component.Tab;
import com.sun.webui.jsf.component.TabSet;
import com.sun.webui.jsf.component.TextArea;
import com.sun.webui.jsf.component.TextField;
import com.sun.webui.jsf.component.Upload;
import com.sun.webui.jsf.model.Option;
import com.sun.webui.jsf.model.SingleSelectOptionsList;
import com.sun.webui.jsf.model.UploadedFile;
import javax.faces.FacesException;
import investigaciones_itm.RequestBean1;
import investigaciones_itm.SessionBean1;
import investigaciones_itm.ApplicationBean1;
import investigaciones_itm.upload.Archivo;
import itm.bo.productos.ProductosBO;
import itm.exception.ArchivoException;
import itm.vo.administracion.TipoEventosVO;
import itm.vo.grupoInvestigacion.CiudadVO;
import itm.vo.grupoInvestigacion.EventoVO;
import itm.vo.grupoInvestigacion.GrupoInvestigacionVO;
import itm.vo.grupoInvestigacion.PaisVO;
import itm.vo.prodructos.ProductoVO;
import itm.vo.personas.PersonaVO;
import itm.vo.prodructos.ArchivoProductoVO;
import itm.vo.prodructos.ProductoUsoVO;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.component.UISelectItems;
import javax.faces.component.html.HtmlInputHidden;
import javax.faces.component.html.HtmlInputText;
import javax.faces.component.html.HtmlMessages;
import javax.faces.component.html.HtmlSelectOneListbox;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import static itm.constants.FileConstants.*;
import java.io.File;
import itm.vo.prodructos.ArchivoProductoVO;

import itm.vo.prodructos.ProductoVO;
import java.sql.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.ServletContext;

/**
 * <p>Page bean that corresponds to a similarly named JSP page.  This
 * class contains component definitions (and initialization code) for
 * all components that you have defined on this page, as well as
 * lifecycle methods and event handlers where you may add behavior
 * to respond to incoming events.</p>
 *
 * @author Administrador
 */
public class Registrar_Eventos extends AbstractPageBean {

    private String nombreArchivo;
    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">

    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
        radioButtonGroup1DefaultOptions.setOptions(new com.sun.webui.jsf.model.Option[]{new com.sun.webui.jsf.model.Option("personas", "Personas"), new com.sun.webui.jsf.model.Option("grupos", "Grupos")});
        radioButtonGroup2DefaultOptions.setOptions(new com.sun.webui.jsf.model.Option[]{new com.sun.webui.jsf.model.Option("SI", "SI"), new com.sun.webui.jsf.model.Option("NO", "NO")});
        addRemoveList1.setWidth("311");

    }
    private Page page1 = new Page();

    public Page getPage1() {
        return page1;
    }

    public void setPage1(Page p) {
        this.page1 = p;
    }
    private Html html1 = new Html();

    public Html getHtml1() {
        return html1;
    }

    public void setHtml1(Html h) {
        this.html1 = h;
    }
    private Head head1 = new Head();

    public Head getHead1() {
        return head1;
    }

    public void setHead1(Head h) {
        this.head1 = h;
    }
    private Link link1 = new Link();

    public Link getLink1() {
        return link1;
    }

    public void setLink1(Link l) {
        this.link1 = l;
    }
    private Body body1 = new Body();

    public Body getBody1() {
        return body1;
    }

    public void setBody1(Body b) {
        this.body1 = b;
    }
    private Form form1 = new Form();

    public Form getForm1() {
        return form1;
    }

    public void setForm1(Form f) {
        this.form1 = f;
    }
    private PanelGroup groupPanel1 = new PanelGroup();

    public PanelGroup getGroupPanel1() {
        return groupPanel1;
    }

    public void setGroupPanel1(PanelGroup pg) {
        this.groupPanel1 = pg;
    }
    private TabSet tabSet1 = new TabSet();

    public TabSet getTabSet1() {
        return tabSet1;
    }

    public void setTabSet1(TabSet ts) {
        this.tabSet1 = ts;
    }
    private Tab tab1 = new Tab();

    public Tab getTab1() {
        return tab1;
    }

    public void setTab1(Tab t) {
        this.tab1 = t;
    }
    private PanelLayout layoutPanel1 = new PanelLayout();

    public PanelLayout getLayoutPanel1() {
        return layoutPanel1;
    }

    public void setLayoutPanel1(PanelLayout pl) {
        this.layoutPanel1 = pl;
    }
    private Label label1 = new Label();

    public Label getLabel1() {
        return label1;
    }

    public void setLabel1(Label l) {
        this.label1 = l;
    }
    private Label label2 = new Label();

    public Label getLabel2() {
        return label2;
    }

    public void setLabel2(Label l) {
        this.label2 = l;
    }
    private TextArea textNombreEvento = new TextArea();

    public TextArea getTextNombreEvento() {
        return textNombreEvento;
    }

    public void setTextNombreEvento(TextArea ta) {
        this.textNombreEvento = ta;
    }
    private Label label3 = new Label();

    public Label getLabel3() {
        return label3;
    }

    public void setLabel3(Label l) {
        this.label3 = l;
    }
    private TextArea textAreDescriEvento = new TextArea();

    public TextArea getTextAreDescriEvento() {
        return textAreDescriEvento;
    }

    public void setTextAreDescriEvento(TextArea ta) {
        this.textAreDescriEvento = ta;
    }
    private Label label4 = new Label();

    public Label getLabel4() {
        return label4;
    }

    public void setLabel4(Label l) {
        this.label4 = l;
    }
    private TextField textFiOrganizador = new TextField();

    public TextField getTextFiOrganizador() {
        return textFiOrganizador;
    }

    public void setTextFiOrganizador(TextField tf) {
        this.textFiOrganizador = tf;
    }
    private Label label5 = new Label();

    public Label getLabel5() {
        return label5;
    }

    public void setLabel5(Label l) {
        this.label5 = l;
    }
    private Label label6 = new Label();

    public Label getLabel6() {
        return label6;
    }

    public void setLabel6(Label l) {
        this.label6 = l;
    }
    private Label label7 = new Label();

    public Label getLabel7() {
        return label7;
    }

    public void setLabel7(Label l) {
        this.label7 = l;
    }
    private Label label8 = new Label();

    public Label getLabel8() {
        return label8;
    }

    public void setLabel8(Label l) {
        this.label8 = l;
    }
    private Calendar calendarInicio = new Calendar();

    public Calendar getCalendarInicio() {
        return calendarInicio;
    }

    public void setCalendarInicio(Calendar c) {
        this.calendarInicio = c;
    }
    private Label label9 = new Label();

    public Label getLabel9() {
        return label9;
    }

    public void setLabel9(Label l) {
        this.label9 = l;
    }
    private Calendar calendarFinEvento = new Calendar();

    public Calendar getCalendarFinEvento() {
        return calendarFinEvento;
    }

    public void setCalendarFinEvento(Calendar c) {
        this.calendarFinEvento = c;
    }
    private Label label10 = new Label();

    public Label getLabel10() {
        return label10;
    }

    public void setLabel10(Label l) {
        this.label10 = l;
    }
    private Label label11 = new Label();

    public Label getLabel11() {
        return label11;
    }

    public void setLabel11(Label l) {
        this.label11 = l;
    }
    private TextField textFieldDuracion = new TextField();

    public TextField getTextFieldDuracion() {
        return textFieldDuracion;
    }

    public void setTextFieldDuracion(TextField tf) {
        this.textFieldDuracion = tf;
    }
    private Label label12 = new Label();

    public Label getLabel12() {
        return label12;
    }

    public void setLabel12(Label l) {
        this.label12 = l;
    }
    private TextField textFieldCostoAsociado = new TextField();

    public TextField getTextFieldCostoAsociado() {
        return textFieldCostoAsociado;
    }

    public void setTextFieldCostoAsociado(TextField tf) {
        this.textFieldCostoAsociado = tf;
    }
    private Label label13 = new Label();

    public Label getLabel13() {
        return label13;
    }

    public void setLabel13(Label l) {
        this.label13 = l;
    }
    private TextArea textAreaDetalleCosto = new TextArea();

    public TextArea getTextAreaDetalleCosto() {
        return textAreaDetalleCosto;
    }

    public void setTextAreaDetalleCosto(TextArea ta) {
        this.textAreaDetalleCosto = ta;
    }
    private Label label14 = new Label();

    public Label getLabel14() {
        return label14;
    }

    public void setLabel14(Label l) {
        this.label14 = l;
    }
    private TextField textFieldAsumeCosto = new TextField();

    public TextField getTextFieldAsumeCosto() {
        return textFieldAsumeCosto;
    }

    public void setTextFieldAsumeCosto(TextField tf) {
        this.textFieldAsumeCosto = tf;
    }
    private Label label15 = new Label();

    public Label getLabel15() {
        return label15;
    }

    public void setLabel15(Label l) {
        this.label15 = l;
    }
    private TextArea textAreaImportanciaItm = new TextArea();

    public TextArea getTextAreaImportanciaItm() {
        return textAreaImportanciaItm;
    }

    public void setTextAreaImportanciaItm(TextArea ta) {
        this.textAreaImportanciaItm = ta;
    }
    private Label label16 = new Label();

    public Label getLabel16() {
        return label16;
    }

    public void setLabel16(Label l) {
        this.label16 = l;
    }
    private TextArea textAreaResultadoObte = new TextArea();

    public TextArea getTextAreaResultadoObte() {
        return textAreaResultadoObte;
    }

    public void setTextAreaResultadoObte(TextArea ta) {
        this.textAreaResultadoObte = ta;
    }
    private Button buttonAnexo = new Button();

    public Button getButtonAnexo() {
        return buttonAnexo;
    }

    public void setButtonAnexo(Button b) {
        this.buttonAnexo = b;
    }
    private Button buttonGuardarEventos = new Button();

    public Button getButtonGuardarEventos() {
        return buttonGuardarEventos;
    }

    public void setButtonGuardarEventos(Button b) {
        this.buttonGuardarEventos = b;
    }
    private Button button3 = new Button();

    public Button getButton3() {
        return button3;
    }

    public void setButton3(Button b) {
        this.button3 = b;
    }
    private HtmlSelectOneListbox listboxTipoEvento = new HtmlSelectOneListbox();

    public HtmlSelectOneListbox getListboxTipoEvento() {

        listboxTipoEvento = new HtmlSelectOneListbox();

        String idTipoEvento;
        String nombreTipoEvento;

        ProductosBO productosBO = new ProductosBO();
        List<TipoEventosVO> listaTipoEvento = new ArrayList<TipoEventosVO>();
        List collection = new ArrayList();
        try {
            listaTipoEvento = productosBO.listarTipoEventos();
            collection.add(new SelectItem(0, "-Seleccione un tipo de Evento-"));
            for (int i = 0; i < listaTipoEvento.size(); i++) {
                idTipoEvento = listaTipoEvento.get(i).getIdTipoEvento();
                nombreTipoEvento = listaTipoEvento.get(i).getNombreTipoEvento();

                collection.add(new SelectItem(idTipoEvento, nombreTipoEvento));
            } // end for
            UISelectItems listaMenu = new UISelectItems();
            listaMenu.setValue(collection);
            listboxTipoEvento.getChildren().add(listaMenu);
        } catch (Exception e) {
            e.getStackTrace();
        }

        return listboxTipoEvento;
    }

    public void setListboxTipoEvento(HtmlSelectOneListbox hsol) {
        this.listboxTipoEvento = hsol;
    }
    private UISelectItems listbox1SelectItems = new UISelectItems();

    public UISelectItems getListbox1SelectItems() {
        return listbox1SelectItems;
    }

    public void setListbox1SelectItems(UISelectItems uisi) {
        this.listbox1SelectItems = uisi;
    }
    private DefaultSelectItemsArray listbox1DefaultItems1 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems1() {
        return listbox1DefaultItems1;
    }

    public void setListbox1DefaultItems1(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems1 = dsia;
    }
    private UISelectItems listbox1SelectItems1 = new UISelectItems();

    public UISelectItems getListbox1SelectItems1() {
        return listbox1SelectItems1;
    }

    public void setListbox1SelectItems1(UISelectItems uisi) {
        this.listbox1SelectItems1 = uisi;
    }
    private DefaultSelectItemsArray listbox1DefaultItems2 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems2() {
        return listbox1DefaultItems2;
    }

    public void setListbox1DefaultItems2(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems2 = dsia;
    }
    private DefaultSelectItemsArray listbox1DefaultItems3 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems3() {
        return listbox1DefaultItems3;
    }

    public void setListbox1DefaultItems3(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems3 = dsia;
    }
    private HtmlSelectOneListbox listboxListaGrupo = new HtmlSelectOneListbox();

    public HtmlSelectOneListbox getListboxListaGrupo() {

        listboxListaGrupo = new HtmlSelectOneListbox();

        int idGrupoInvestigacion;
        String nombreGrupoInvestigacion;

        ProductosBO productosBO = new ProductosBO();
        List<GrupoInvestigacionVO> listaGrupoInvestigacion = new ArrayList<GrupoInvestigacionVO>();
        List collection = new ArrayList();
        try {
            listaGrupoInvestigacion = productosBO.ListarGrupoInv();
            collection.add(new SelectItem(0, "-Seleccione un Grupo-"));
            for (int i = 0; i < listaGrupoInvestigacion.size(); i++) {
                idGrupoInvestigacion = listaGrupoInvestigacion.get(i).getIdGrupo();
                nombreGrupoInvestigacion = listaGrupoInvestigacion.get(i).getNombreGrupo();

                collection.add(new SelectItem(idGrupoInvestigacion, nombreGrupoInvestigacion));
            } // end for
            UISelectItems listaMenu = new UISelectItems();
            listaMenu.setValue(collection);
            listboxListaGrupo.getChildren().add(listaMenu);
        } catch (Exception e) {
            e.getStackTrace();
        }
        return listboxListaGrupo;
    }

    public void setListboxListaGrupo(HtmlSelectOneListbox hsol) {
        this.listboxListaGrupo = hsol;
    }
    private UISelectItems listbox1SelectItems2 = new UISelectItems();

    public UISelectItems getListbox1SelectItems2() {
        return listbox1SelectItems2;
    }

    public void setListbox1SelectItems2(UISelectItems uisi) {
        this.listbox1SelectItems2 = uisi;
    }
    private HtmlSelectOneListbox listboxPais = new HtmlSelectOneListbox();

    public HtmlSelectOneListbox getListboxPais() {

        listboxPais = new HtmlSelectOneListbox();

        int idPais;
        String nombrePais;

        ProductosBO productosBO = new ProductosBO();
        List<PaisVO> listaPais = new ArrayList<PaisVO>();
        List collection = new ArrayList();
        try {
            listaPais = productosBO.ListarPais();
            collection.add(new SelectItem(0, "-Seleccione un País-"));
            for (int i = 0; i < listaPais.size(); i++) {
                idPais = listaPais.get(i).getIdPais();
                nombrePais = listaPais.get(i).getPais();

                collection.add(new SelectItem(idPais, nombrePais));
            } // end for
            UISelectItems listaMenu = new UISelectItems();
            listaMenu.setValue(collection);
            listboxPais.getChildren().add(listaMenu);
        } catch (Exception e) {
            e.getStackTrace();
        }
        return listboxPais;
    }

    public void setListboxPais(HtmlSelectOneListbox hsol) {
        this.listboxPais = hsol;
    }
    private DefaultSelectItemsArray listbox1DefaultItems4 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems4() {
        return listbox1DefaultItems4;
    }

    public void setListbox1DefaultItems4(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems4 = dsia;
    }
    private UISelectItems listbox1SelectItems3 = new UISelectItems();

    public UISelectItems getListbox1SelectItems3() {
        return listbox1SelectItems3;
    }

    public void setListbox1SelectItems3(UISelectItems uisi) {
        this.listbox1SelectItems3 = uisi;
    }
    private DefaultSelectItemsArray listboxListaGrupoDefaultItems = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListboxListaGrupoDefaultItems() {
        return listboxListaGrupoDefaultItems;
    }

    public void setListboxListaGrupoDefaultItems(DefaultSelectItemsArray dsia) {
        this.listboxListaGrupoDefaultItems = dsia;
    }
    private DefaultSelectItemsArray listbox1DefaultItems5 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems5() {
        return listbox1DefaultItems5;
    }

    public void setListbox1DefaultItems5(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems5 = dsia;
    }
    private DefaultSelectItemsArray listbox1DefaultItems6 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems6() {
        return listbox1DefaultItems6;
    }

    public void setListbox1DefaultItems6(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems6 = dsia;
    }
    private HtmlSelectOneListbox listboxCiudad = new HtmlSelectOneListbox();

    public HtmlSelectOneListbox getListboxCiudad() {
        return listboxCiudad;
    }

    public void setListboxCiudad(HtmlSelectOneListbox hsol) {
        this.listboxCiudad = hsol;
    }
    private UISelectItems listbox1SelectItems4 = new UISelectItems();

    public UISelectItems getListbox1SelectItems4() {
        return listbox1SelectItems4;
    }

    public void setListbox1SelectItems4(UISelectItems uisi) {
        this.listbox1SelectItems4 = uisi;
    }
    private RadioButtonGroup radioButtonGroup1 = new RadioButtonGroup();

    public RadioButtonGroup getRadioButtonGroup1() {
        return radioButtonGroup1;
    }

    public void setRadioButtonGroup1(RadioButtonGroup rbg) {
        this.radioButtonGroup1 = rbg;
    }
    private SingleSelectOptionsList radioButtonGroup1DefaultOptions = new SingleSelectOptionsList();

    public SingleSelectOptionsList getRadioButtonGroup1DefaultOptions() {
        return radioButtonGroup1DefaultOptions;
    }

    public void setRadioButtonGroup1DefaultOptions(SingleSelectOptionsList ssol) {
        this.radioButtonGroup1DefaultOptions = ssol;
    }
    private DefaultSelectItemsArray listbox1DefaultItems7 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems7() {
        return listbox1DefaultItems7;
    }

    public void setListbox1DefaultItems7(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems7 = dsia;
    }
    private DefaultSelectItemsArray listbox1DefaultItems8 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems8() {
        return listbox1DefaultItems8;
    }

    public void setListbox1DefaultItems8(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems8 = dsia;
    }
    private DefaultSelectItemsArray listbox1DefaultItems9 = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems9() {
        return listbox1DefaultItems9;
    }

    public void setListbox1DefaultItems9(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems9 = dsia;
    }
    private RadioButtonGroup radioButtonGroup2 = new RadioButtonGroup();

    public RadioButtonGroup getRadioButtonGroup2() {
        return radioButtonGroup2;
    }

    public void setRadioButtonGroup2(RadioButtonGroup rbg) {
        this.radioButtonGroup2 = rbg;
    }
    private SingleSelectOptionsList radioButtonGroup2DefaultOptions = new SingleSelectOptionsList();

    public SingleSelectOptionsList getRadioButtonGroup2DefaultOptions() {
        return radioButtonGroup2DefaultOptions;
    }

    public void setRadioButtonGroup2DefaultOptions(SingleSelectOptionsList ssol) {
        this.radioButtonGroup2DefaultOptions = ssol;
    }
    private AddRemove addRemoveList1 = new AddRemove();

    public AddRemove getAddRemoveList1() {
        return addRemoveList1;
    }

    public void setAddRemoveList1(AddRemove ar) {
        this.addRemoveList1 = ar;
    }
    private Option[] availableOptions = null;
    /** Holds value of property selectedOptions. */
    private String[] selectedOptions = null;

    public Option[] getAvailableOptions() {
        return availableOptions;
    }

    public void setAvailableOptions(Option[] availableOptions) {
        this.availableOptions = availableOptions;
    }

    public String[] getSelectedOptions() {
        return selectedOptions;
    }

    public void setSelectedOptions(String[] selectedOptions) {
        this.selectedOptions = selectedOptions;
    }
    private HtmlSelectOneListbox listboxTiempo = new HtmlSelectOneListbox();

    public HtmlSelectOneListbox getListboxTiempo() {

        listboxTiempo = new HtmlSelectOneListbox();

        List collection = new ArrayList();

        collection.add(new SelectItem("Horas", "Horas"));
        collection.add(new SelectItem("Días", "Días"));
        collection.add(new SelectItem("Semanas", "Semanas"));
        UISelectItems listaMenu = new UISelectItems();
        listaMenu.setValue(collection);
        listboxTiempo.getChildren().add(listaMenu);

        return listboxTiempo;
    }

    public void setListboxTiempo(HtmlSelectOneListbox hsol) {
        this.listboxTiempo = hsol;
    }
    private DefaultSelectItemsArray listbox1DefaultItems = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getListbox1DefaultItems() {
        return listbox1DefaultItems;
    }

    public void setListbox1DefaultItems(DefaultSelectItemsArray dsia) {
        this.listbox1DefaultItems = dsia;
    }
    private UISelectItems listbox1SelectItems5 = new UISelectItems();

    public UISelectItems getListbox1SelectItems5() {
        return listbox1SelectItems5;
    }

    public void setListbox1SelectItems5(UISelectItems uisi) {
        this.listbox1SelectItems5 = uisi;
    }
    private HtmlMessages messageList1 = new HtmlMessages();

    public HtmlMessages getMessageList1() {
        return messageList1;
    }

    public void setMessageList1(HtmlMessages hm) {
        this.messageList1 = hm;
    }
    private HtmlInputHidden hiddenFieldidProducto = new HtmlInputHidden();

    public HtmlInputHidden getHiddenFieldidProducto() {
        return hiddenFieldidProducto;
    }

    public void setHiddenFieldidProducto(HtmlInputHidden hih) {
        this.hiddenFieldidProducto = hih;
    }
    private HtmlInputHidden hiddenFieldNombre = new HtmlInputHidden();

    public HtmlInputHidden getHiddenFieldNombre() {
        return hiddenFieldNombre;
    }

    public void setHiddenFieldNombre(HtmlInputHidden hih) {
        this.hiddenFieldNombre = hih;
    }
    private Tab tabAnexo = new Tab();

    public Tab getTabAnexo() {
        return tabAnexo;
    }

    public void setTabAnexo(Tab t) {
        this.tabAnexo = t;
    }
    private PanelLayout layoutPanel2 = new PanelLayout();

    public PanelLayout getLayoutPanel2() {
        return layoutPanel2;
    }

    public void setLayoutPanel2(PanelLayout pl) {
        this.layoutPanel2 = pl;
    }
    private Label label17 = new Label();

    public Label getLabel17() {
        return label17;
    }

    public void setLabel17(Label l) {
        this.label17 = l;
    }
    private Label label18 = new Label();

    public Label getLabel18() {
        return label18;
    }

    public void setLabel18(Label l) {
        this.label18 = l;
    }
    private Label label19 = new Label();

    public Label getLabel19() {
        return label19;
    }

    public void setLabel19(Label l) {
        this.label19 = l;
    }
    private TextField textFieldNombreProducto1 = new TextField();

    public TextField getTextFieldNombreProducto1() {
        return textFieldNombreProducto1;
    }

    public void setTextFieldNombreProducto1(TextField tf) {
        this.textFieldNombreProducto1 = tf;
    }
    private Button buttonAdjuntarArchivo1 = new Button();

    public Button getButtonAdjuntarArchivo1() {
        return buttonAdjuntarArchivo1;
    }

    public void setButtonAdjuntarArchivo1(Button b) {
        this.buttonAdjuntarArchivo1 = b;
    }
    private Label label20 = new Label();

    public Label getLabel20() {
        return label20;
    }

    public void setLabel20(Label l) {
        this.label20 = l;
    }
    private Label label21 = new Label();

    public Label getLabel21() {
        return label21;
    }

    public void setLabel21(Label l) {
        this.label21 = l;
    }
    private TextArea textAreaDescripcion1 = new TextArea();

    public TextArea getTextAreaDescripcion1() {
        return textAreaDescripcion1;
    }

    public void setTextAreaDescripcion1(TextArea ta) {
        this.textAreaDescripcion1 = ta;
    }
    private HtmlInputText textFieldRutaArchivo1 = new HtmlInputText();

    public HtmlInputText getTextFieldRutaArchivo1() {
        return textFieldRutaArchivo1;
    }

    public void setTextFieldRutaArchivo1(HtmlInputText hit) {
        this.textFieldRutaArchivo1 = hit;
    }
    private TextField textFieldNombreArchivo1 = new TextField();

    public TextField getTextFieldNombreArchivo1() {
        return textFieldNombreArchivo1;
    }

    public void setTextFieldNombreArchivo1(TextField tf) {
        this.textFieldNombreArchivo1 = tf;
    }
    private Upload fileUpload1 = new Upload();

    public Upload getFileUpload1() {
        return fileUpload1;
    }

    public void setFileUpload1(Upload u) {
        this.fileUpload1 = u;
    }
    private TextField textFieldIDProducto1 = new TextField();

    public TextField getTextFieldIDProducto1() {
        return textFieldIDProducto1;
    }

    public void setTextFieldIDProducto1(TextField tf) {
        this.textFieldIDProducto1 = tf;
    }
    private Calendar calendarFecha1 = new Calendar();

    public Calendar getCalendarFecha1() {
        return calendarFecha1;
    }

    public void setCalendarFecha1(Calendar c) {
        this.calendarFecha1 = c;
    }
    private Label label22 = new Label();

    public Label getLabel22() {
        return label22;
    }

    public void setLabel22(Label l) {
        this.label22 = l;
    }
    private Button button1 = new Button();

    public Button getButton1() {
        return button1;
    }

    public void setButton1(Button b) {
        this.button1 = b;
    }
    private HtmlMessages messageList2 = new HtmlMessages();

    public HtmlMessages getMessageList2() {
        return messageList2;
    }

    public void setMessageList2(HtmlMessages hm) {
        this.messageList2 = hm;
    }
    private Button button2 = new Button();

    public Button getButton2() {
        return button2;
    }

    public void setButton2(Button b) {
        this.button2 = b;
    }
    private Label label23 = new Label();

    public Label getLabel23() {
        return label23;
    }

    public void setLabel23(Label l) {
        this.label23 = l;
    }

    // </editor-fold>
    /**
     * <p>Construct a new Page bean instance.</p>
     */
    public Registrar_Eventos() {
    }
    String seleccion = "";

    /**
     * <p>Callback method that is called whenever a page is navigated to,
     * either directly via a URL, or indirectly via page navigation.
     * Customize this method to acquire resources that will be needed
     * for event handlers and lifecycle methods, whether or not this
     * page is performing post back processing.</p>
     * 
     * <p>Note that, if the current request is a postback, the property
     * values of the components do <strong>not</strong> represent any
     * values submitted with this request.  Instead, they represent the
     * property values that were saved for this view when it was rendered.</p>
     */
    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();
        // Perform application initialization that must complete
        // *before* managed components are initialized
        // TODO - add your own initialiation code here

        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("Registrar_Eventos Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
        }

        // </editor-fold>
        // Perform application initialization that must complete
        // *after* managed components are initialized
        // TODO - add your own initialization code here

        productoVO = getSessionBean1().getProductoVO();
        llenarInformacion(productoVO);
    }

    /**
     * <p>Callback method that is called after the component tree has been
     * restored, but before any event processing takes place.  This method
     * will <strong>only</strong> be called on a postback request that
     * is processing a form submit.  Customize this method to allocate
     * resources that will be required in your event handlers.</p>
     */
    @Override
    public void preprocess() {
    }

    /**
     * <p>Callback method that is called just before rendering takes place.
     * This method will <strong>only</strong> be called for the page that
     * will actually be rendered (and not, for example, on a page that
     * handled a postback and then navigated to a different page).  Customize
     * this method to allocate resources that will be required for rendering
     * this page.</p>
     */
    @Override
    public void prerender() {

        PersonaVO personaVO = getRequestBean1().getPersonaVO();
        String idPersona = "";
        String nombrePersona = "";
        ProductosBO productosBO = new ProductosBO();
        List<PersonaVO> listaPersonas = new ArrayList<PersonaVO>();
        try {
            listaPersonas = productosBO.listarPersona(personaVO);
            Option[] opcion = new Option[listaPersonas.size()];
            for (int i = 0; i < listaPersonas.size(); i++) {
                idPersona = listaPersonas.get(i).getIdPersona();
                nombrePersona = listaPersonas.get(i).getNombrePersona();
                opcion[i] = new Option(idPersona, nombrePersona);
            } // end for
            availableOptions = opcion;
        } catch (Exception e) {
            e.getStackTrace();
        }
    }

    /**
     * <p>Callback method that is called after rendering is completed for
     * this request, if <code>init()</code> was called (regardless of whether
     * or not this was the page that was actually rendered).  Customize this
     * method to release resources acquired in the <code>init()</code>,
     * <code>preprocess()</code>, or <code>prerender()</code> methods (or
     * acquired during execution of an event handler).</p>
     */
    @Override
    public void destroy() {
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected RequestBean1 getRequestBean1() {
        return (RequestBean1) getBean("RequestBean1");
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected SessionBean1 getSessionBean1() {
        return (SessionBean1) getBean("SessionBean1");
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    public void dropDown1_processValueChange(ValueChangeEvent event) {
    }
    ProductoVO productoVO;
    ProductoUsoVO productoUsoVO;
    ArchivoProductoVO archivoProductoVO;
    ProductosBO productosBO;
    EventoVO eventoVO;
    String idProducto;

    public void listboxPais_processValueChange(ValueChangeEvent vce) {

        String pais = (String) vce.getNewValue();
        ProductosBO productosBO;
        int idPais = Integer.parseInt(pais);
        int idCiudad = 0;

        String ciudad = "";
        PaisVO paisVO;
        List<CiudadVO> listaCiudades = new ArrayList<CiudadVO>();
        List collection = new ArrayList();
        UISelectItems listMenu = new UISelectItems();

        if (!getListboxCiudad().getChildren().isEmpty()) {
            getListboxCiudad().getChildren().clear();
        }

        try {
            paisVO = new PaisVO();
            productosBO = new ProductosBO();
            paisVO.setIdPais(idPais);
            listaCiudades = productosBO.listarCiudadesSegunPais(paisVO);
            collection.add(new SelectItem(0, "-Seleccione una Ciudad-"));
            for (int i = 0; i < listaCiudades.size(); i++) {
                idCiudad = listaCiudades.get(i).getIdCiudad();
                ciudad = listaCiudades.get(i).getCiudad();
                collection.add(new SelectItem(idCiudad, ciudad));
            } // end for            
            listMenu.setValue(collection);
            getListboxCiudad().getChildren().add(listMenu);
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
    String tipo = "", nombreEvento = "", DescripcionEvento = "", organizador = "", pai = "",
            ciu = "", Enproceso = "", duracion = "", dura = "", costoAsoci = "",
            detalleCosto = "", asumeCosto = "", importanciItm = "", resultaObteni = "";
    int tipoEvento = 0, pais = 0, ciudad = 0;
    Date fechaInicio = null, fechaFin = null;

    public void radioButtonGroup1_processValueChange(ValueChangeEvent vce) {

        seleccion = (String) vce.getNewValue();
        if (seleccion.equals("personas")) {
            addRemoveList1.setRendered(true);
            listboxListaGrupo.setRendered(false);

        } else {
            if (seleccion.equals("grupos")) {
                addRemoveList1.setRendered(false);
                listboxListaGrupo.setRendered(true);
            }
        }
    }

    public String buttonGuardarEventos_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.
        int resultado = 0;
        String resultadoProducto = "", id = "";
        int idProducto = 0;

        try {
            productosBO = new ProductosBO();
            eventoVO = new EventoVO();

            id = (String) hiddenFieldidProducto.getValue();
            idProducto = Integer.parseInt(id);
            tipo = (String) listboxTipoEvento.getValue();
            tipoEvento = Integer.parseInt(tipo);
            nombreEvento = (String) textNombreEvento.getValue();
            DescripcionEvento = (String) textAreDescriEvento.getValue();
            organizador = (String) textFiOrganizador.getValue();
            costoAsoci = (String) textFieldCostoAsociado.getValue();
            String[] personas = selectedOptions;
            pai = (String) listboxPais.getValue();
            pais = Integer.parseInt(pai);
            ciu = (String) listboxCiudad.getValue();
            if (ciu != null) {
                ciudad = Integer.parseInt(ciu);
            }
            java.util.Date fechaIni = null;
            java.util.Date fechaFi = null;

            if (calendarInicio != null) {
                fechaIni = (java.util.Date) calendarInicio.getValue();
            } else {
                error("La Fecha de Inicio es requerda");
                return null;
            }
            if (calendarFinEvento != null) {
                fechaFi = (java.util.Date) calendarFinEvento.getValue();
            } else {
                error("La Fecha Final es requerida");
                return null;
            }


            if (fechaIni != null && fechaFi != null) {

                if (fechaIni.getTime() > fechaFi.getTime()) {
                    error("La fecha incial debe ser menor a la fecha final del evento");
                    return null;
                }
            }

            //sql.date sql.Date fecha = (sql.Date) textFieldFecha.getValue(); 
            duracion = (String) textFieldDuracion.getValue();
            dura = (String) listboxTiempo.getValue();

            asumeCosto = (String) textFieldAsumeCosto.getValue();

            importanciItm = (String) textAreaImportanciaItm.getValue();
            detalleCosto = (String) textAreaDetalleCosto.getValue();
            resultaObteni = (String) textAreaResultadoObte.getValue();

            if (tipoEvento == 0) {
                error("Por favor Seleccione el tipo del evento");
                return null;
            }
            if (nombreEvento == null || nombreEvento.equals("")) {
                error("Por favor Digite el Nombre del evento");
                return null;
            }
            if (DescripcionEvento == null || DescripcionEvento.equals("")) {
                error("Por favor Digite la descripcion del Evento");
                return null;
            }

            if (organizador == null || organizador.equals("")) {
                error("Por favor Digite el nombre del Organizador");
                return null;
            }
            if (pais == 0) {
                error("Por favor Seleccione un pais");
                return null;
            }
            if (ciudad == 0) {
                error("Por favor Seleccione una Ciudad");
                return null;
            }
            if (fechaIni == null) {
                error("Por favor Seleccione la fecha del Inicio del Evento");
                return null;
            }
            if (fechaFi == null) {
                error("Por favor Seleccione la fecha en que finaliza la participacion del producto en el evento");
                return null;
            }
            if (asumeCosto == null || asumeCosto.equals("")) {
                error("Por favor Digite quien asume el costo");
                return null;
            }
            if (duracion == null || duracion.equals("")) {
                error("Por favor digite la duracion");
                return null;
            }
            if (dura == null || dura.equals("")) {
                error("Por favor seleccione en como va a medir la duracion");
                return null;
            }
            if (costoAsoci == null || costoAsoci.equals("")) {
                error("El Costo Asociado es requerido");
                return null;
            }
            if (importanciItm == null || importanciItm.equals("")) {
                error("Por favor Digite la importancia para el Itm");
                return null;
            }
            if (detalleCosto == null || detalleCosto.equals("")) {
                error("Por favor Digite el detalle del costo del evento");
                return null;
            }

            if (!esNumericoRegex(duracion)) {
                error("La duración solo permite valores numéricos");
                return null;
            }

            if (!esNumericoRegex(costoAsoci)) {
                error("El costo asociado solo permite valores numéricos");
                return null;
            }

            if(resultaObteni == null || resultaObteni.equals("")){
                error("Por Favor Digite los resultados obtenidos");
                return null;
            }

            fechaInicio = new Date(fechaIni.getTime());
            fechaFin = new Date(fechaFi.getTime());
            eventoVO.setIdTipoEvento(tipoEvento);
            eventoVO.setNombreEvento(nombreEvento);
            eventoVO.setDescripcion(DescripcionEvento);
            eventoVO.setOrganizador(organizador);
            eventoVO.setIdPais(tipoEvento);
            eventoVO.setIdPais(pais);
            eventoVO.setIdCiudad(ciudad);
            eventoVO.setFechaInicio(fechaInicio);
            eventoVO.setFechaFin(fechaFin);
            eventoVO.setDuracion(duracion + "" + dura);
            eventoVO.setImportanciaITM(importanciItm);
            eventoVO.setDetalleCosto(detalleCosto);
            eventoVO.setAsumeCosto(asumeCosto);
            seleccion = (String) radioButtonGroup1DefaultOptions.getSelectedValue();

            if (seleccion == null) {
                error("Por favor seleccione los responsables del evento");
                return null;
            }

            resultado = productosBO.registroEventos(eventoVO);





            if (resultado == 0) {
                error("ha ocurrido un error al insertar los datos.");
                return null;
            } else {
                if (seleccion.equals("personas")) {
                    resultadoProducto = insertarEventoProductoPersonas(personas, resultado, idProducto);
                }
                if (seleccion.equals("grupos")) {
                    resultadoProducto = insertarEventoProductoGrupo(resultado, idProducto);
                }

                if (!resultadoProducto.equals("EL EVENTO FUE REGISTRADO CORRECTAMENTE")) {
                    error("error al resgitrar el evento");
                    return null;
                }
                info("EL EVENTO FUE REGISTRADO CORRECTAMENTE.");
                this.buttonGuardarEventos.setDisabled(true);
              //  limpiar();

            }
        } catch (Exception e) {
            e.printStackTrace();
            error("Error al resgistrar el Evento ");
        }

        return null;
    }

    private boolean esNumericoRegex(String numero) {
        Pattern p = Pattern.compile("[0-9]+");
        Matcher m = p.matcher(numero);
        return m.matches();
    }

    private String insertarEventoProductoGrupo(int resultado, int idProducto) throws Exception {

        String resultadoInsertarProGr = "";

        String proceso = "", idGrupo = "", idProduc = "", idEven = "";
        try {
            productoVO = new ProductoVO();
            idProduc = String.valueOf(idProducto);
            idEven = String.valueOf(resultado);

            proceso = (String) radioButtonGroup2DefaultOptions.getSelectedValue();

            costoAsoci = (String) textFieldCostoAsociado.getValue();
            resultaObteni = (String) textAreaResultadoObte.getValue();
            idGrupo = (String) listboxListaGrupo.getValue();

            if (proceso == null || proceso.equals("")) {
                error("Por favor seleccione si se encuentra o no en proceso");
                return null;
            }
            if (costoAsoci == null || costoAsoci.equals("")) {
                error("Por Favor Digite el costo");
                return null;
            }
            if (resultaObteni == null || resultaObteni.equals("")) {
                error("Por Favor Digite los resultados obtenidos");
                return null;
            }
            if (idGrupo == null || idGrupo.equals("")) {
                error("Por favor Seleccione un grupo de investigacion");
                return null;
            }

            productoVO.setIdProducto(idProduc);
            productoVO.setIdevento(idEven);
            productoVO.setEnproceso(proceso);
            productoVO.setCostoAsociado(costoAsoci);
            productoVO.setResultadoObtenido(resultaObteni);
            productoVO.setIdGrupo(idGrupo);

            resultadoInsertarProGr = productosBO.resgistroEventosProducGru(productoVO);

            if (!resultadoInsertarProGr.equals("EL EVENTO FUE REGISTRADO CORRECTAMENTE")) {
                return null;
            }

        } catch (Exception e) {
            error("Error al ingresar el grupo responsable" + e);
        }

        return resultadoInsertarProGr;
    }

    private String insertarEventoProductoPersonas(String[] personas, int resultado, int idProducto) {

        String resultadoInsertarProGr = "";

        String proceso = "", par = "", idPersonas = "", idProduc = "", idEven = "", idGrupo = null;
        try {
            productoVO = new ProductoVO();
            idProduc = String.valueOf(idProducto);
            idEven = String.valueOf(resultado);

            proceso = (String) radioButtonGroup2DefaultOptions.getSelectedValue();

            costoAsoci = (String) textFieldCostoAsociado.getValue();
            resultaObteni = (String) textAreaResultadoObte.getValue();


            if (proceso == null || proceso.equals("")) {
                error("Por favor seleccione si se encuentra o no en proceso");
                return null;
            }
            if (costoAsoci == null || costoAsoci.equals("")) {
                error("Por Favor Digite el costo");
                return null;
            }
            if (resultaObteni == null || resultaObteni.equals("")) {
                error("Por Favor Digite los resultados obtenidos");
                return null;
            }

            productoVO.setIdProducto(idProduc);
            productoVO.setIdevento(idEven);
            productoVO.setEnproceso(proceso);
            productoVO.setCostoAsociado(costoAsoci);
            productoVO.setResultadoObtenido(resultaObteni);
            productoVO.setIdGrupo(idGrupo);

            productosBO.resgistroEvenProduc(productoVO);

            for (int i = 0; i < personas.length; i++) {
                par = new String();
                par = personas[i];
                idPersonas = par;

                productoVO.setIdProducto(idProduc);
                productoVO.setIdevento(idEven);
                productoVO.setIdPersona(idPersonas);


                resultadoInsertarProGr = productosBO.resgistroEvenProductPersonas(productoVO);
                if (resultadoInsertarProGr.equals("EL EVENTO FUE REGISTRADO CORRECTAMENTE")) {
                    //return resultadoInsertarProGr;
                }
                // error(resultado);
                if (!resultadoInsertarProGr.equals("EL EVENTO FUE REGISTRADO CORRECTAMENTE")) {
                    // error("Error al ingresar los privilegios.");
                    return null;
                }
            }
        } catch (Exception e) {
            error("Error al ingresar las personas responsables" + e);
        }

        return resultadoInsertarProGr;

    }

    public void limpiar() {


        listboxTipoEvento.setValue("");
        textNombreEvento.setValue("");
        textAreDescriEvento.setValue("");
        textFiOrganizador.setValue("");
        radioButtonGroup1.setValue(false);
        listboxPais.setValue("");
        listboxCiudad.setValue("");
        calendarInicio.setValue("");
        calendarFinEvento.setValue("");
        radioButtonGroup2.setValue(false);
        textFieldDuracion.setValue("");
        listboxTiempo.setValue("");
        textFieldCostoAsociado.setValue("");
        textAreaDetalleCosto.setValue("");
        textFieldAsumeCosto.setValue("");
        textAreaImportanciaItm.setValue("");
        textAreaResultadoObte.setValue("");
        addRemoveList1.getValue();

        textFieldIDProducto1.setValue("");
        textFieldNombreProducto1.setValue("");
        textFieldNombreArchivo1.setValue("");
        textAreaDescripcion1.setValue("");
        fileUpload1.setValue("");
        textFieldRutaArchivo1.setValue("");
        calendarFecha1.setValue("");
        listboxListaGrupo.setValue("");
        listboxListaGrupo.setRendered(false);
        addRemoveList1.setRendered(false);

    }

    private static boolean esNumero(String cadena) {
        try {
            Integer.parseInt(cadena);
            return true;

        } catch (NumberFormatException nfe) {
            return false;
        }
    }

    public String tab1_action() {
        // TODO: Replace with your code
        return null;
    }

    public void textFieldCostoAsociado_validate(FacesContext context, UIComponent component, Object value) {
    }

    public String buttonAnexo_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.


        tabSet1.setSelected(tabAnexo.getId().toString());
        return null;

    }

    public void textFieldDuracion_validate(FacesContext context, UIComponent component, Object value) {
    }

    public String buttonAdjuntarArchivo_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.

        UploadedFile uploadedFile = this.fileUpload1.getUploadedFile();
        Archivo archivo = new Archivo();
        if(uploadedFile != null){
        if (uploadedFile.getContentType().equals("application/pdf")) {
            try {
                ServletContext context = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
                String path = context.getRealPath("/") + PATH_UPLOAD_PRODUCTO;
                nombreArchivo = textFieldNombreArchivo1.getValue().toString();
                archivo.uploadFile(uploadedFile, nombreArchivo, path);
                textFieldRutaArchivo1.setValue(path + textFieldNombreArchivo1.getValue().toString() + ".pdf");
            } catch (ArchivoException ex) {
                Logger.getLogger(Registrar_Eventos.class.getName()).log(Level.SEVERE, null, ex);
                ex.printStackTrace();
                error("Error al adjunta el archivo");
            }

        } else {
            error("Solo se admiten archivos en formato PDF");
        }
        }else{
            error("El máximo tamaño permitido es de 10MB");
        }

        return null;
    }

    public String button1_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.


        String nombreArchivo = "", descripcion = "", rutaArchivo = "", idProducto = "",
                resultado = "";
        String identificador = "", idjsp = "";
        // hiddenFieldidentiicador1.setValue(productoVO.getIddentificadorJSP());



        Date fecha = null;

        try {
            productosBO = new ProductosBO();
            archivoProductoVO = new ArchivoProductoVO();
            idProducto = (String) textFieldIDProducto1.getValue();
            nombreArchivo = (String) textFieldNombreArchivo1.getValue();
            descripcion = (String) textAreaDescripcion1.getValue();
            rutaArchivo = (String) textFieldRutaArchivo1.getValue();

            java.util.Date fechaIni = (java.util.Date) calendarFecha1.getValue();

            fecha = new Date(fechaIni.getTime());
            archivoProductoVO.setNombreArchivo(nombreArchivo);
            archivoProductoVO.setDescripcion(descripcion);
            archivoProductoVO.setRutaArchivo(rutaArchivo);
            archivoProductoVO.setFecha(fecha);
            archivoProductoVO.setIdProducto(idProducto);
            resultado = productosBO.guardarArchivoProducto(archivoProductoVO);
            info(resultado);

        //  identificador = (String)hiddenFieldidentiicador.getValue();


        } catch (Exception e) {
            error("Error al guardar el anexo" + e);
            e.getStackTrace();
        }
        return null;

    }

    public String tabAnexo_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.
        return null;
    }

    public String button2_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.
        tabSet1.setSelected(tab1.getId().toString());
        return null;
    }

    public String button3_action() {
        // TODO: Process the action. Return value is a navigation
        // case name where null will return to the same page.
        return "consultarProducto";
    }

    private void llenarInformacion(ProductoVO productoVO) {
        //String idProducto ="", nombrePro="";
        hiddenFieldidProducto.setValue(productoVO.getIdProducto());
        hiddenFieldNombre.setValue(productoVO.getNombreProducto());
        textFieldIDProducto1.setValue(productoVO.getIdProducto());
        textFieldNombreProducto1.setValue(productoVO.getNombreProducto());
    //idProducto = (String)hiddenFieldidProducto.getValue();
    //nombrePro=(String)hiddenFieldNombre.getValue();
    }

    public String getNombreArchivo() {
        return nombreArchivo;
    }

    public void setNombreArchivo(String nombreArchivo) {
        this.nombreArchivo = nombreArchivo;
    }
}

